using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using 凌依.工具库;

public class 寻路管理器 : 单例_基础管理器<寻路管理器>
{
    public void 初始化() 
    {
        Vector2Int 规格 = new Vector2Int(地面生成控制器.获取实例.规格, 地面生成控制器.获取实例.规格);
        long 开始时间 = 时间.时间戳_毫秒级();
        寻路管理器_A星.获取实例.初始化地图信息_后台(规格, new Vector2Int(规格.x/2, 规格.y/2), (t) =>
        {
            if (地图数据管理器.获取实例.中层.ContainsKey(t))
                return 节点类型_A星.绝对障碍;
            else
                return 节点类型_A星.地面;
        } 
        , () => { Debug.Log("初始化寻路" + (时间.时间戳_毫秒级() - 开始时间)); });
    }

    private 节点类型_A星[] 阻挡类型 = new 节点类型_A星[1] { 节点类型_A星.绝对障碍 };

    public void 寻路(Vector2Int 自身坐标,Vector2Int 目标坐标,System.Action<List<寻路节点_A星>> 完成后)
    {
        寻路管理器_A星.获取实例.寻路_后台(自身坐标, 目标坐标, 阻挡类型, (t) => 完成后(t));
    }


}
